package com.xbts.screen.monitor.domain.token;

import com.xbts.screen.monitor.domain.http.HttpConfigInfo;
import lombok.Data;

/**
 * 鉴权配置信息
 * **/
@Data
public abstract class OauthConfigBaseInfo {

    /** 申请认证ID */
    protected String clientId;
    /** 申请认证秘钥 */
    protected String clientSecret;
    /** 当前使用认证类型 */
    protected GrantType grantType;
    /**平台ip 端口信息*/
    protected HttpConfigInfo httpConfigInfo;

    public OauthConfigBaseInfo(){

    }

    public OauthConfigBaseInfo(String host, String clientId, String clientSecret, GrantType grantType){
        this.httpConfigInfo = new HttpConfigInfo(host);
        this.clientId = clientId;
        this.clientSecret = clientSecret;
        this.grantType = grantType;
    }

    public OauthConfigBaseInfo(String host, String clientId, String clientSecret, GrantType grantType, boolean isEnableHttpTest, String httpsPort, String httpPort){
        this(host,clientId,clientSecret,grantType);
        this.httpConfigInfo = new HttpConfigInfo(host,isEnableHttpTest,httpsPort,httpPort);
    }

    public String getClientId() {
        return clientId;
    }

    public void setClientId(String clientId) {
        this.clientId = clientId;
    }

    public String getClientSecret() {
        return clientSecret;
    }

    public void setClientSecret(String clientSecret) {
        this.clientSecret = clientSecret;
    }

    public GrantType getGrantType() {
        return grantType;
    }

    public void setGrantType(GrantType grantType) {
        this.grantType = grantType;
    }

    public HttpConfigInfo getHttpConfigInfo() {
        return httpConfigInfo;
    }

    public void setHttpConfigInfo(HttpConfigInfo httpConfigInfo) {
        this.httpConfigInfo = httpConfigInfo;
    }
}
